package controladores;

import java.util.ArrayList;
import java.util.List;





import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.MouseEvent;
import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.select.annotation.Listen;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zul.Button;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.Intbox;
import org.zkoss.zul.ListModel;
import org.zkoss.zul.ListModelList;
import org.zkoss.zul.Listbox;
import org.zkoss.zul.Textbox;

import modelo.datos.areaprofesional;
import modelo.datos.aviso;
import modelo.datos.nivel_instruccion;
import modelo.datos.requerimiento;
import modelo.datos.usuario;
import modelo.datos.ciudad;
import modelo.hibernate.dao.DaoArea_Profesional;
import modelo.hibernate.dao.DaoCiudad;
import modelo.hibernate.dao.DaoNivel_Instruccion;
import modelo.hibernate.dao.DaoRequerimiento;

public class ControladorRegistrarAviso extends SelectorComposer<Component>{
     
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private aviso avi= new aviso();
    private DaoArea_Profesional dao= new DaoArea_Profesional();
    private DaoRequerimiento daoReq = new DaoRequerimiento();
    private DaoNivel_Instruccion daoNivelInst = new DaoNivel_Instruccion();
    private DaoCiudad daoCiudad= new DaoCiudad();
     
     java.sql.Date fechaActual = new java.sql.Date(0);
     @Wire
     private Textbox titulo;
     @Wire
     private Textbox codigo;
     @Wire
     private Datebox fechaFinPublic;
     @Wire
     private Textbox email;
     @Wire
     private Combobox ciudad;
     @Wire
     private Combobox areaProf;
     @Wire
     private Listbox requerimientos;
     @Wire
     private Listbox niveles;
     @Wire
     private Button btnImagen;
     @Wire
     private Button btnRegistrar;
     @Wire
     private Button btnCancelar;
     
    private List<areaprofesional> ListaAreas;
     private List<requerimiento> ListaRequerimientos;
     private List<nivel_instruccion> ListaNiveles;
     private List<ciudad> ListaCiudad;
     
     public ControladorRegistrarAviso(){
    	 super();
 		// TODO Auto-generated constructor stub
 		try {
 			ListaAreas=dao.obtenerTodos();
 			ListaRequerimientos = daoReq.obtenerTodos();
 			ListaNiveles= daoNivelInst.obtenerTodos();
 			ListaCiudad= daoCiudad.obtenerTodos();
 			
 		} catch (Exception e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
     }
        
     public List<String> getRequerimientos(){
   		List<String> requerimientos = new ArrayList<>();
   		for(int i=0; i<ListaRequerimientos.size();i++)
   		{
   			requerimientos.add(ListaRequerimientos.get(i).getNomrequerimiento());
   			System.out.println(requerimientos);
   		}
   		return requerimientos;
   	}
     
     public List<String> getNiveles(){
  		List<String> niveles = new ArrayList<>();
  		for(int i=0; i<ListaNiveles.size();i++)
  		{
  			niveles.add(ListaNiveles.get(i).getNomnivelinst());
  			
  		}
  		return niveles;
  	}
   
  	
      
     public List<String> getciudades(){
 		List<String> ciudadesc = new ArrayList<>();
 		for(int i=0; i<ListaCiudad.size();i++)
 		{
 			ciudadesc.add(ListaCiudad.get(i).getNomciudad());
 			System.out.println(ciudadesc);
 		}
 		return ciudadesc;
 	}
     
     public List<String> getAreaProfesional(){
  		List<String> areasProf = new ArrayList<>();
  		for(int i=0; i<ListaAreas.size();i++)
  		{
  			areasProf.add(ListaAreas.get(i).getNomarea());
  			System.out.println(areasProf);
  		}
  		return areasProf;
  	}
     
   	
    
     
   /*  public ListModel<ciudad> getciudades() {
    		try {
    			return new ListModelList<ciudad>(daoCiudad.obtenerTodos());
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    			return null;
    		}
    	
        }*/





	@Listen("onClick=#btnRegistrar")
 	public void onClick$btnRegistrar(MouseEvent event){
    	/* avi.setCodaviso(codigo.getValue());
    	 avi.setTitulo(titulo.getValue());
    	 avi.setFechapub(fechaActual);
    	// avi.setFechafinpub(fechaFinPublic.getValue());
    	 avi.setEmail(email.getValue());
    	 avi.setStatus("Pendiente");*/
    	 
         System.out.println("sirve boton");
         List<String> requerimientos = new ArrayList<>();
    		for(int i=0; i<ListaRequerimientos.size();i++)
    		{
    			requerimientos.add(ListaRequerimientos.get(i).getNomrequerimiento());
    			
    		}
    		List<String> niveles = new ArrayList<>();
       		for(int i=0; i<ListaNiveles.size();i++)
       		{
       			requerimientos.add(ListaNiveles.get(i).getNomnivelinst());
       			
       		}
    	 System.out.println(niveles);
    	 System.out.println(requerimientos);
    	 System.out.println(ListaAreas);
    	 System.out.println(ListaCiudad);
     }
     
     
     
     
     
}
